const MyPromise = require('./myPromise.js')

// new Promise((resovle, reject) => {
//     // resovle('success')
//     setTimeout(() => {
//         resovle('success')
//     }, 2000);
//     // reject('error')
//     // throw new Error('1111')
// }).then(res => {
//     console.log(res)
//     console.log(this) // ??? 为什么是{}?
//     throw new Error('失败')
//     return new MyPromise((resovle, reject) => {
//         resovle(1)
//     })
// }, error => {
//     console.log('1')
//     console.error(error.message)
// }).then(res => {
//     console.log(res)
// }, err => {
//     console.log('2')
//     console.error(err.message)
// }).catch(error => {
//     console.log('catch')
//     console.error(error)
// })

new MyPromise((resovle, reject) => {
    // resovle('success')
    setTimeout(() => {
        resovle('success')
    }, 2000);
    // reject('error')
    // throw new Error('1111')
}).then(res => {
    console.log(res)
    console.log(this) // ??? 为什么是{}?
    // throw new Error('失败')
    return new MyPromise((resovle, reject) => {
        resovle(1)
    })
}, error => {
    console.log('1')
    console.error(error.message)
}).then(res => {
    console.log(res)
}).catch(error => {
    console.log('catch')
    console.error(error)
})

// let p1 = new MyPromise((resolve, reject) => {
//     setTimeout(() => {
//         resolve('maos')
//     }, 1000);
// })

// let p2 = new MyPromise((resolve, reject) => {
//     resolve('good')
// })

// MyPromise.all(['1', '2', p1, p2, '3']).then((res) => {
//     console.log(res)
// })

